Minimizing the response time for a query, while maximizing the throughput within the database server as a whole is an important goal of database performance. One way to accomplish this goal is to balance the utilization of system resources, such as network traffic, disk input/output, and CPU usage. Through understanding application characteristics, system resources may be allocated when needed and released when they are no longer needed by the application. In this way, system resources may be available when required by other applications connecting to the database. While some system resources, such as disk and CPU may be dedicated to support the performance of a particular application or database, the network resource may be shared among all the workloads and users within the enterprise. Therefore, an application with a query that returns a large result set may impact the performance of other workloads, as well as that of the application. If the requests and replies between the client and database server can be efficiently managed, network overhead may be reduced and distributed database performance improved.